<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/vue-2.6.12开发.js"></script>
</head>

<body>
   
    <div id="root">
        <!-- <h1>今天天气很{{info}}</h1>
        <button @click="change">点我</button> -->

        <h1>a的值是{{numbers.a}}</h1>
        <button @click="numbers.a++">点我a就加1</button> <br><br>
        <h1>b的值是{{numbers.b}}</h1>
        <button @click="numbers.b++">点我b就加1</button>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                isHoat: true,
            },
            computed: {

                info() {
                    return this.isHoat ? '炎热' : '凉爽'
                }
            },
            methods: {
                change() {
                    this.isHoat = !this.isHoat
                }
            },
            
            // watch两种写法 的两种简写
            // 注意:简写的前提是建立在除了handler处理监听回调函数之外 无需再额外配置的情况下才可使用
            watch: {
                // 写法一的完整写法: 
                // isHoat: {
                //     // immediate:true,//初始化时让handler调用一下
                //     // deep:true,//开启深度监视
                //     handler(newValue, oldValue) {
                //         console.log('ishoat被修改了', newValue, oldValue);
                //     }
                // },
                // 简写:
                isHoat(newValue, oldValue) {
                    console.log('ishoat被修改了', newValue, oldValue);
                }
            }
        })
        // 写法2的完整写法:
        // vm.$watch('isHoat',{
        //     // immediate:true,//初始化时让handler调用一下
        //     // deep:true,//开启深度监视
        //     handler(newValue, oldValue) {
        //         console.log('ishoat被修改了', newValue, oldValue);
        //     }
        // })
        // 简写:
        vm.$watch('isHoat', function (newValue, oldValue) {
            console.log('ishoat被修改了', newValue, oldValue);
        })

    </script>
</body>

</html>